#pragma once

namespace hc
{
	class HC_API FolderChecker : noncopyable
	{
	public:
		FolderChecker(const string& path);
		bool Check();
		int GetResultSize();			
		bool MoveNext();
		boost::filesystem::path GetCurrent();
		void Reset();

		list<boost::filesystem::path> Filter(const set<string>& extensions );

	private:
		void Init();
		list< boost::filesystem::path > m_Files;
		list< boost::filesystem::path >::iterator m_itrFiles;
		boost::filesystem::path m_path;
	};
}